package collection;
/**
 * JDK1.8之后，集合提供了流式操作
 * 集合中提供了一个方法: stream()
 * 步骤:集合转为流->中间环节->终端环节
 */
import org.w3c.dom.ls.LSException;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;

public class StreamApiDemo1 {
    public static void main(String[] args) {
        Random rand = new Random();
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i <10 ; i++) {
            list.add(rand.nextInt(100));
        }
        System.out.println(list);

        //集合里面所有数扩大三倍
        List<Integer>list2 = list.stream().map(e->e*3).collect(Collectors.toList());
        System.out.println(list2);

        //要集合里面所有偶数
        List<Integer>list3 = list.stream().filter(e->e%2==0).collect(Collectors.toList());
        System.out.println(list3);

        //降序
        List<Integer>list4 = list.stream().sorted((e1,e2)->e2-e1).collect(Collectors.toList());
        System.out.println(list4);

        //对集合每个元素扩大3倍并获取其中所有的偶数并降序排列
        List<Integer>list5 = list.stream().map(e->e*3).filter(e->e%2==0).sorted((e1,e2)->e2-e1).collect(Collectors.toList());
        System.out.println(list5);


    }
}
